#ifndef SPL_HIDDENWND
#define SPL_HIDDENWND

class DLLEXPORT HiddenWnd : public WndBase
{
protected:
  //! Window procedure
  virtual VOID wndProc(Event::WndProcEvent& iEvent);

  virtual VOID onCreate(Event::WndCreateEvent& iEvent);

public:
  //! Creates the hidden window
  BOOL create(HINSTANCE hInstance);
  //! Creates the hidden window
  SPLINL BOOL create() { return create(GetModuleHandle(NULL)); }
  //! Creates the hidden window using the given window class
  SPLINL BOOL create(LPCTSTR szClass, HINSTANCE hInstance)
  {
    return CreateWindowEx(WS_EX_NOACTIVATE, szClass, _T(""),
      0, 0, 0, 0, 0, NULL, NULL, hInstance, this) > 0;
  }
};

#endif